/***************************************************************************
 *   This file is a part of match_mail.                               *
 *   Copyright (C) 2009 by fu4ny 										   *
 *   ntcong.it@gmail.com                                                   *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 3 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *  You should have received a copy of the GNU General Public License      *
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>   *             *
 ***************************************************************************/

#ifndef LOGGER_H_
#define LOGGER_H_
#include <cstring>
#include <fstream>
#include <sstream>
using namespace std;
/*
 *
 */
class Logger {
public:
	Logger();
	Logger( const char* );
	Logger( const string );
	void newFile( const char* );
	void setHtml();
	template <class T>
	friend Logger& operator<<(Logger& con, const T& newLog ) {
		con.oss << newLog;
		return con;
	}
	void write();
	~Logger();
private:
	//Private Function
	string endLine();
	string lightbox() const;//default script set for lightbox
	string currentTime();
	//Private Variable
	ofstream log;
	ostringstream oss;
	char logFile[100];
	bool isHtml;
};

#endif /* LOGGER_H_ */
